home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / comm2 / termsorc.lha / Extras / Source / gtlayout-source.lha / LTP_DeleteObjectNode.c < prev    next >
C/C++ Source or Header  |  1995-09-24  |  951b  |  49 lines

  1. /*  GadTools layout toolkit
  2. **
  3. **  Copyright © 1993-1995 by Olaf `Olsen' Barthel
  4. **  Freely distributable.
  5. */
  6.  
  7. #include "gtlayout_global.h"
  8.  
  9. VOID __regargs
  10. LTP_DeleteObjectNode(LayoutHandle *handle,ObjectNode *node)
  11. {
  12.     struct Image **ImagePtr = NULL;
  13.  
  14.     if(node -> Type == PICKER_KIND)
  15.     {
  16.         if(node -> Special . Picker . Image)
  17.             ImagePtr = &node -> Special . Picker . Image;
  18.     }
  19.     else
  20.     {
  21.         if(node -> Type == BUTTON_KIND)
  22.             ImagePtr = &node -> Special . Button . ButtonImage;
  23.         else
  24.         {
  25.             if(node -> Type == INCREMENTER_KIND)
  26.                 ImagePtr = &node -> Special . Incrementer . Image;
  27.             else
  28.             {
  29.                 if(node -> Type == TAPEDECK_KIND)
  30.                     ImagePtr = &node -> Special . TapeDeck . ButtonImage;
  31.                 else
  32.                 {
  33. #ifdef DO_LEVEL_KIND
  34.                     if(node -> Type == LEVEL_KIND)
  35.                         ImagePtr = &node -> Special . Level . LevelImage;
  36. #endif    /* DO_LEVEL_KIND */
  37.                 }
  38.             }
  39.         }
  40.     }
  41.  
  42.     if(ImagePtr && *ImagePtr)
  43.     {
  44.         DisposeObject(*ImagePtr);
  45.  
  46.         *ImagePtr = NULL;
  47.     }
  48. }
  49.